<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function Foo() {
            getName = function() {
                alert(1)
            }
            return this;
        }

        Foo.getName = function() {
            alert(2)
        }

        Foo.prototype.getName = function() {
            alert(3)
        }
        var getName = function() {
            alert(4)
        }

        function getName() {
            alert(5)
        }

        Foo.getName() //2
        getName() // 4
        Foo().getName() //1
        getName(); // 1
        // 考察运算符优先级  new = .成员访问 > 函数调用（）
        new Foo.getName() // 2
        new Foo().getName() // (new Foo()).getName()  3  new Foo()为一个整体构造函数
        new new Foo().getName() // new ((new Foo()).getName)() 3
    </script>
</body>

</html>